package br.bd2.protocolo2PL.EstruturaDeDados;


public class TestGrafo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		GrafoDeEspera grafo = GrafoDeEspera.getINSTANCE();
		String[] transacoes = {"1", "2", "3", "4"};
		
		for (String transacao : transacoes) {
			System.out.println(transacao);
			grafo.adicionarVertice(transacao);
		}
		String from, to;
		from = "1";
		to = "2";
		grafo.adicionarAresta(from, to);
		from = "2";
		to = "3";
		grafo.adicionarAresta(from, to);
		if (grafo.cycleDetect()) {
			grafo.removerVertice(from);
		}
		from = "3";
		to = "1";
		grafo.adicionarAresta(from, to);
		if (grafo.cycleDetect()) {
			grafo.removerVertice(from);
			System.out.println("O vertice " + from + " foi removido em virtude de deadlock");
		}
		
		for (String string : grafo.getGrafoDeEspera().vertexSet()) {
			System.out.println(string);
		}
		
		
	}

}
